home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / ownrdclb / gdi_api.bas < prev    next >
BASIC Source File  |  1998-06-27  |  12KB  |  233 lines

  1. Attribute VB_Name = "mGDI_API"
  2. Option Explicit
  3.     
  4. ' General:
  5. Declare Function GetWindowWord Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Integer
  6.     Public Const GWW_HINSTANCE = (-6)
  7.     
  8. ' GDI object functions:
  9. Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  10. Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  11. Declare Function GetObjectAPI Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
  12. Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
  13. Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
  14. Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
  15. Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
  16. Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  17. Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
  18.     Public Const BITSPIXEL = 12
  19.     Public Const LOGPIXELSX = 88    '  Logical pixels/inch in X
  20.     Public Const LOGPIXELSY = 90    '  Logical pixels/inch in Y
  21. ' System metrics:
  22. Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  23.     Public Const SM_CXICON = 11
  24.     Public Const SM_CYICON = 12
  25.     Public Const SM_CXFRAME = 32
  26.     Public Const SM_CYCAPTION = 4
  27.     Public Const SM_CYFRAME = 33
  28.     Public Const SM_CYBORDER = 6
  29.     Public Const SM_CXBORDER = 5
  30.  
  31. ' Region paint and fill functions:
  32. Declare Function PaintRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long
  33. Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long
  34.     Public Const FLOODFILLBORDER = 0
  35.     Public Const FLOODFILLSURFACE = 1
  36. Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
  37.  
  38. ' Pen functions:
  39. Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
  40.     Public Const PS_DASH = 1
  41.     Public Const PS_DASHDOT = 3
  42.     Public Const PS_DASHDOTDOT = 4
  43.     Public Const PS_DOT = 2
  44.     Public Const PS_SOLID = 0
  45.     Public Const PS_NULL = 5
  46.  
  47. ' Brush functions:
  48. Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
  49. Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As Long
  50.  
  51. ' Line functions:
  52. Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
  53. Type POINTAPI
  54.         X As Long
  55.         Y As Long
  56. End Type
  57. Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, lpPoint As POINTAPI) As Long
  58.  
  59. ' Colour functions:
  60. Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  61. Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  62. Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long
  63.     Public Const OPAQUE = 2
  64.     Public Const TRANSPARENT = 1
  65. Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
  66.     Public Const COLOR_ACTIVEBORDER = 10
  67.     Public Const COLOR_ACTIVECAPTION = 2
  68.     Public Const COLOR_ADJ_MAX = 100
  69.     Public Const COLOR_ADJ_MIN = -100
  70.     Public Const COLOR_APPWORKSPACE = 12
  71.     Public Const COLOR_BACKGROUND = 1
  72.     Public Const COLOR_BTNFACE = 15
  73.     Public Const COLOR_BTNHIGHLIGHT = 20
  74.     Public Const COLOR_BTNSHADOW = 16
  75.     Public Const COLOR_BTNTEXT = 18
  76.     Public Const COLOR_CAPTIONTEXT = 9
  77.     Public Const COLOR_GRAYTEXT = 17
  78.     Public Const COLOR_HIGHLIGHT = 13
  79.     Public Const COLOR_HIGHLIGHTTEXT = 14
  80.     Public Const COLOR_INACTIVEBORDER = 11
  81.     Public Const COLOR_INACTIVECAPTION = 3
  82.     Public Const COLOR_INACTIVECAPTIONTEXT = 19
  83.     Public Const COLOR_MENU = 4
  84.     Public Const COLOR_MENUTEXT = 7
  85.     Public Const COLOR_SCROLLBAR = 0
  86.     Public Const COLOR_WINDOW = 5
  87.     Public Const COLOR_WINDOWFRAME = 6
  88.     Public Const COLOR_WINDOWTEXT = 8
  89.     Public Const COLORONCOLOR = 3
  90.  
  91. ' Shell Extract icon functions:
  92. Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
  93. Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
  94.  
  95. ' Icon functions:
  96. Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal hIcon As Long) As Long
  97. Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
  98. Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Boolean
  99. Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long
  100.     Public Const LR_LOADMAP3DCOLORS = &H1000
  101.     Public Const LR_LOADFROMFILE = &H10
  102.     Public Const LR_LOADTRANSPARENT = &H20
  103.  
  104. ' Blitting functions
  105. Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
  106.     Public Const SRCAND = &H8800C6
  107.     Public Const SRCCOPY = &HCC0020
  108.     Public Const SRCERASE = &H440328
  109.     Public Const SRCINVERT = &H660046
  110.     Public Const SRCPAINT = &HEE0086
  111.     Public Const BLACKNESS = &H42
  112.     Public Const WHITENESS = &HFF0062
  113. Declare Function PatBlt Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As Long
  114. Declare Function LoadBitmapBynum Lib "user32" Alias "LoadBitmapA" (ByVal hInstance As Long, ByVal lpBitmapName As Long) As Long
  115. Type BITMAP '14 bytes
  116.     bmType As Long
  117.     bmWidth As Long
  118.     bmHeight As Long
  119.     bmWidthBytes As Long
  120.     bmPlanes As Integer
  121.     bmBitsPixel As Integer
  122.     bmBits As Long
  123. End Type
  124. Declare Function CreateBitmapIndirect Lib "gdi32" (lpBitmap As BITMAP) As Long
  125.  
  126. ' Text functions:
  127. Type RECT
  128.     left As Long
  129.     tOp As Long
  130.     Right As Long
  131.     Bottom As Long
  132. End Type
  133. Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal ptX As Long, ByVal ptY As Long) As Long
  134. Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
  135.     Public Const DT_BOTTOM = &H8
  136.     Public Const DT_CENTER = &H1
  137.     Public Const DT_LEFT = &H0
  138.     Public Const DT_CALCRECT = &H400
  139.     Public Const DT_WORDBREAK = &H10
  140.     Public Const DT_VCENTER = &H4
  141.     Public Const DT_TOP = &H0
  142.     Public Const DT_TABSTOP = &H80
  143.     Public Const DT_SINGLELINE = &H20
  144.     Public Const DT_RIGHT = &H2
  145.     Public Const DT_NOCLIP = &H100
  146.     Public Const DT_INTERNAL = &H1000
  147.     Public Const DT_EXTERNALLEADING = &H200
  148.     Public Const DT_EXPANDTABS = &H40
  149.     Public Const DT_CHARSTREAM = 4
  150.     Public Const DT_NOPREFIX = &H800
  151. Type DRAWTEXTPARAMS
  152.     cbSize As Long
  153.     iTabLength As Long
  154.     iLeftMargin As Long
  155.     iRightMargin As Long
  156.     uiLengthDrawn As Long
  157. End Type
  158. Declare Function DrawTextEx Lib "user32" Alias "DrawTextExA" (ByVal hdc As Long, ByVal lpsz As String, ByVal n As Long, lpRect As RECT, ByVal un As Long, lpDrawTextParams As DRAWTEXTPARAMS) As Long
  159. Declare Function DrawTextExAsNull Lib "user32" Alias "DrawTextExA" (ByVal hdc As Long, ByVal lpsz As String, ByVal n As Long, lpRect As RECT, ByVal un As Long, ByVal lpDrawTextParams As Long) As Long
  160.     Public Const DT_EDITCONTROL = &H2000
  161.     Public Const DT_PATH_ELLIPSIS = &H4000
  162.     Public Const DT_END_ELLIPSIS = &H8000
  163.     Public Const DT_MODIFYSTRING = &H10000
  164.     Public Const DT_RTLREADING = &H20